#ifndef __NUMDLGH_G__
#define __NUMDLGH_G__

#include "wx/defs.h"

#if wxUSE_NUMBERDLG

#include "wx/dialog.h"

#if wxUSE_SPINCTRL
class wxSpinCtrl;
#else
class wxTextCtrl;
#endif // wxUSE_SPINCTRL

class wxNumberEntryDialog : public wxDialog {
  public:
    wxNumberEntryDialog( wxWindow *parent, const wxString& message, const wxString& prompt, const wxString& caption,
                         long value, long min, long max, const wxPoint& pos = wxDefaultPosition );

    long GetValue() const { return m_value; }

    // implementation only
    void OnOK( wxCommandEvent& event );
    void OnCancel( wxCommandEvent& event );

  protected:

    #if wxUSE_SPINCTRL
    wxSpinCtrl *m_spinctrl;
    #else
    wxTextCtrl *m_spinctrl;
    #endif // wxUSE_SPINCTRL

    long m_value, m_min, m_max;

  private:
    DECLARE_EVENT_TABLE()
    DECLARE_DYNAMIC_CLASS( wxNumberEntryDialog )
    DECLARE_NO_COPY_CLASS( wxNumberEntryDialog )
};

long wxGetNumberFromUser( const wxString& message, const wxString& prompt, const wxString& caption, long value = 0,
                          long min = 0, long max = 100, wxWindow *parent = ( wxWindow * )NULL,
                          const wxPoint& pos = wxDefaultPosition );

#endif // wxUSE_NUMBERDLG

#endif // __NUMDLGH_G__
